﻿@{
    ViewBag.Title = "Nservice Bus-Introduction";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
        <ol class="breadcrumb" style="margin-top: 10px;">
            <li><a href="/Home/Home">Home</a></li>
            <li class="active">Nservice Bus</li>
        </ol>

            
            <div id="introduction">
                <h1 class="text-left">Introduction Of NServiceBus</h1>
            </div>
            <div>
                <p>
                    <ul>
                        <li>NServiceBus is An EnterPrise ServiceBus.</li>
                        <li>NServiceBus is Powerful LightWeight MessagingFrameWork For Designing Distributed.Net EnterPrise Systems.</li>
                        <li>Nservicebus Founded in 2006 By Udi Dahan an international Architecture renowed Export on Software Architecture and Design.</li>
                        <li>
                            NserviceBus is Opensource But Not Free.
                            Get More..
                            <a href="http://particular.net/licensing">
                                <abbr title="NServiceBus">Licensing</abbr>
                            </a>
                        </li>

                        <li>Services and support provided by Particular Software.</li>
                        <li>NServiceBus gives programmers a head-start on developing robust, scalable, and maintainable service-layers and long-running business processes.</li>
                        <li>Binaries available as NuGet packages</li>
                    </ul>
                </p>
            </div>
            <div id="Download">
                <h3>Downloads</h3>
                <p>Get the latest stable production build of NServiceBus:</p>
                <div>
                    <div>
                        <a href="http://particular.net/downloads#DownloadNServiceBus2">
                            <abbr title="NServiceBus">Download</abbr>
                        </a>

                    </div>
                    <p>After Downloading NServiceBus.Installing NServiceBus By Default RavenDB explicitly Installed in LocalMachine</p>
                    <p><strong>RavenDB</strong><br />Starting from version 3.0, NServiceBus uses RavenDB for persistence by default. The NServiceBus license permits the use of RavenDB for the storage needs of your endpoint. This only includes NServiceBus-related data such as sagas and subscriptions. If you store application-specific data in RavenDB you need to purchase a separate license.</p>

                    <p></p>
                </div>
                <div id="Need Of NServiceBus">
                    <h1 class="text-left">Need Of NServiceBus</h1>
                    <h3>For Example</h3>
                    <ul>
                        <li>Remote Procedure Call(Request/Response)<br /><img src="~/Images/NServiceBus/RPCSynchronus.png" class="img-thumbnail" height=100% width=100% /><br /></li>
                        <li>
                            In Synchronnous RPC  Practically Impossible to all Machine is Up all the time.One Something goes Down Lose Messages.
                            <br />For Example , Client is Order Book Online and Order Accepted But the Shipping Service is Down which is Missed . Machine is goes up and Down Loses Messages That Provide Bus.
                        </li>
                        <br />Like , Ethernet Card in Every Machine Bus Queue in Every Machine.we have Ability to Store Stuff Show Below.
                        <li>Message Oriented Architecture<br /><img src="~/Images/NServiceBus/Asynchronus.png" class="img-thumbnail" height=100% width=100% /><br /></li>
                        <br />In Above Diagram ASynchronus If that Target Machine is Down we can store and we remember we comeback Up again passed order Accepted Over Shipping Service . So No Messages and Event will be lost in case some crashes with help of MSMQ.
                        <br />Nservice Provide That Kind Of Infrastructure that will give you safe Communication.
                    </ul>
                </div>
                <div id="NServiceBus Terminology & Components">
                    <h3>NServiceBus Terminology & Components</h3>
                    <ul>
                        <li><br /><img src="~/Images/NServiceBus/NServiceBusFlow.png" class="img-thumbnail" height=100% width=100% /><br /></li>
                        <li><h4><strong>Summary</strong></h4></li>
                        <li>
                            <strong>Sender endpoint</strong><br /> Sends a message
                            Can be a website, desktop application or even a worker endpoint
                        </li>
                        <li>
                            <strong>Command</strong><br />
                            Message where we want to do something concrete
                            ICommand interface
                        <li></li>
                        <li>
                            <strong>Event</strong><br />
                            Message where we notify about something that has happened
                            IEvent interface
                        </li>
                        <li>
                            <strong>Message handler</strong><br />
                            Processes a given message
                            IHandleMessages&lt;message&gt;interface
                        <li />
                        <li>
                            <strong>	Worker endpoint</strong>
                            <br />Finds and executes the handler for the message
                            Can be a Windows Service, console application, WCF, website
                        </li>
                    </ul>
                </div>



                <div id="Basicfeatures">
                    <h3>Basic Features</h3>
                    <ul>
                        <li>
                            <strong>Messaging </strong><br />The core features of NServiceBus are the messaging capabilities. These include the publisher/subscriber and request/response message exchange patterns.
                            <br />Pub/sub support also allows you to manage the subscriptions and persist them in a built-in subscription store such as database or MSMQ, or implement your own.
                            <br />Request/response support allows you to use addressing to route messages to specific recipients and to send responses to the originators of the request.
                        </li>
                        <li><br /><strong>Long Running Process</strong><br />It also supports a long-running message exchange pattern called a saga. A saga is essentially a long-running, persisted, message exchange protocol between services.</li>
                        <br />
                        <li><br /><strong>Scheduling</strong><br />Send a message every x minute. A handler will handle the message.</li>
                        <li><br /><strong>Unobtrusive mode</strong><br />Use your own ICommand, IEvent etc. to reduce coupling to NserviceBus.</li>
                    </ul>
                </div>

                <div id="Alternative">
                    <h3><strong>Difference Between NServiceBus and WCF</strong></h3>
                    <ul>
                        <li><br /><strong>Missing Pub/Sub in WCF</strong><br />The main Thing Missing From wcf  is Pub/Sub With NServiceBus you have get it out of Box.</li>
                        <li>
                            <br /><strong>Fault-Tolerance.</strong><br />In The WCF Exception Causes WCF Proxies to Breaks requiring you to "refresh“ them in code but the call data is liable to be lost.
                            <br />NServiceBus provides full system rollback. Not only does your DB remain consistent,but your messages return to their queues too and no valuable 	data is lost.
                        </li>
                    </ul>
                </div>

            </div>
   
  
